package com.weixing.mall.provider.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.weixing.mall.provider.mapper.MediaTypeMapper;
import com.weixing.mall.provider.model.domain.MediaType;
import com.weixing.mall.provider.model.dto.ads.MediaTypeDto;
import com.weixing.mall.provider.model.query.MediaTypeQuery;
import com.weixing.mall.provider.model.vo.ads.MediaTypeFormVo;
import com.weixing.mall.provider.model.vo.ads.MediaTypeVo;
import com.weixing.mall.provider.service.IMediaTypeService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 广告模块-媒体分类表 服务实现类
 * </p>
 *
 * @author Small
 * @since 2019-11-18
 */
@Service
public class MediaTypeServiceImpl extends ServiceImpl<MediaTypeMapper, MediaType> implements IMediaTypeService {



    @Override
    public IPage<MediaTypeVo> selectOfPage(Page initMpPage, MediaTypeQuery mediaTypeQuery) {
        return baseMapper.selectOfPage(initMpPage,mediaTypeQuery);
    }

    @Override
    public void save(MediaTypeDto mediaTypeDto) {
        MediaType mediaType = new MediaType();
        BeanUtils.copyProperties(mediaTypeDto,mediaType);
        if(mediaTypeDto.getId()==null){
            save(mediaType);
        }else {
            updateById(mediaType);
        }
    }

    @Override
    public MediaType queryDetails(Long id) {
        return baseMapper.queryDetails(id);
    }

    @Override
    public List<MediaTypeFormVo> selectMediaTypeFormVo() {
        List<MediaTypeFormVo> formVoList=baseMapper.selectMediaTypeFormVo();
        MediaTypeFormVo mediaTypeFormVo=new MediaTypeFormVo();
        mediaTypeFormVo.setLabel("全部");
        mediaTypeFormVo.setValue(null);
        formVoList.add(0,mediaTypeFormVo);
        return formVoList;
    }
}
